Dive into Splunk SIEM logs to investigate the security incident. These challenges test your ability to craft SPL queries, analyze log data, and identify indicators of compromise across authentication logs, network traffic, process execution records, and more.
Scenario: Flexis AI's security team detected suspicious activity on February
2nd, 2026. Your task is to identify the primary attacker IP address that initiated the breach.
Flag Format: SOC{IP_ADDRESS}
Example: SOC{192.168.1.100}
Disini team keamanan dari Flexis AI mendeteksi adanya aktivitas mencurigakan pada tanggal 2 Februari 2026. Tugas kita adalah mengidentifikasi alamat IP penyerang utama yang memulai pelanggaran tersebut menggunakan Splunk.
Pertama, kita perlu mengidentifikasi log yang relevan dengan aktivitas mencurigakan. Dalam kasus ini, kita akan fokus pada log otentikasi SSH karena seringkali menjadi target serangan. Kita dapat menggunakan query berikut untuk memfilter log yang berkaitan dengan SSH:
source="auth.log" sshd
Figure 1: Menampilkan Semua SSH Event
Setelah menjalankan query tersebut, kita akan melihat hasil yang menunjukkan semua event yang berkaitan dengan SSH. Selanjutnya, kita perlu mengidentifikasi alamat IP penyerang utama yang memulai pelanggaran. Kita dapat menggunakan query berikut untuk mengidentifikasi alamat IP penyerang utama:
source="auth.log" "Accepted publickey"
| rex "from (?\d+\.\d+\.\d+\.\d+)"
| stats count by ip
| sort -count
Figure 2: Menampilkan IP Address dan Jumlah Koneksi SSH
Dari hasil query tersebut, kita dapat melihat bahwa alamat IP penyerang utama adalah 107.21.146.177 dengan jumlah koneksi SSH sebanyak 265 kali.
Scenario: After gaining initial access, the attacker established a reverse
shell connection. Identify the TCP port number used for this persistent backdoor.
Flag Format: SOC{PORT}
Sebelumnya kita sudah mengetahui IP Address dari attacker yaitu 107.21.146.177. Fokus kita sekarang adalah mengetahui port yang digunakan oleh attacker untuk mengeksekusi reverse shell. Disini saya mencoba mengidentifikasi firewall.log dengan query berikut:
source="firewall.log"
| search "107.21.146.177"
| stats count by port
| sort -count
Figure 3: Menampilkan Port yang digunakan oleh attacker
Dari hasil query tersebut, kita dapat melihat beberapa event dari source = firewall.log Salah Satu event tersebut adalah
ALLOW OUT: 160.187.165.218 → 107.21.146.177:1913 TCP Service: Reverse Shell
yang dapat kita simpulkan bahwa port yang digunakan oleh attacker adalah
1913.
Scenario: The attacker deployed a cryptocurrency miner on the compromised
server. Identify the mining pool domain they connected to for mining operations.
Flag Format: SOC{domain.tld}
Dari scenario tersebut, kita perlu mengetahui domain yang digunakan oleh attacker untuk mengeksekusi mining pool. biasanya miner memiliki port khas yaitu 3333, 8000, 8080 dan komunikasi yang rutin. kita perlu mencari semua kemungkinan mining di source firewall.log dengan query berikut:
source="firewall.log" (3333 OR 8000 OR 8080)
Figure 4: Menampilkan Port yang digunakan oleh attacker
Dari hasil query tersebut menampilkan koneksi yang berulang dari source firewall.log
ALLOW OUT: 160.187.165.218:53347 → 45.204.197.103:8000 TCP Service: Crypto Mining
Karena soal meminta domain, maka dilakukan pencarian DNS yang mengarah ke IP tersebut
dengan query
berikut:
45.204.197.103 AND ("dns" OR "resolve" OR "query")
Figure 5: Menampilkan Event DNS
Bisa dilihat dari gambar diatas saya menemukan event
DNS lookup: shd30.com → 45.204.197.103
event ini muncul berulang kali dan waktunya berdekatan dengan aktivitas koneksi mining dan kita
bisa menyimpulkan bahwa domain tersebut adalah domain mining pool yang digunakan adalah
shd3o.com
Scenario: Complete your mining infrastructure analysis by identifying the
specific
port number used to communicate with the mining pool.
Flag Format: SOC{portnumber}
Dari temuan sebelumnya yang kita punya dari event firewall
ALLOW OUT: 160.187.165.218:53347 → 45.204.197.103:8000 TCP Service: Crypto Mining
Scenario: The attacker dropped a malicious binary on the system. Identify the
full path where this binary was installed.
Flag Format: SOC{/path/to/file.ext}
Pada skenario ini, kita perlu mengidentifikasi lokasi file binary yang diinstal oleh penyerang Setelah reverse shell & mining, penyerang pasti akan mendownload file binary untuk melakukan aktivitas jahatnya biasanya di folder /tmp atau /var/tmp dan namanya sering dibuat mirip dengan sistem agar tidak mudah terdeteksi. Kita dapat menggunakan query berikut untuk memfilter log:
(source="bash.log" OR source="syslog" OR source="audit.log")
(wget OR curl OR chmod OR "./")
Figure 6: Hasil QueryExecutable Hunt
Dari hasil query tersebut, Saya menemukan delivery mechanism yang digunakan oleh penyerang yaitu dengan menggunakan curl untuk mendownload script dan langsung mengeksekusinya di memori. Langkah selanjutnya kita harus mencari file yang dibuat setelah cs2.sh jalan. Saya menggunakan query berikut:
source="*" ("/tmp/" OR "/var/tmp/" OR "/usr/local/bin/")
Figure 7: Hasil Query Lokasi umum malware
Betul dugaan saya sebelumnya saya menemukan
/tmp/system-check
yang berulang kali muncul kenapa bisa di simpulkan bahwa ini pasti binary attacker? karena berada di
/tmp dimana ini adalah lokasi favorit malware
Scenario: The attacker successfully compromised a user account on the system.
Identify the username of the initially compromised account.
Flag Format: SOC{username}
Soal kali ini kita diminta untuk mencari username yang pertama kali di kompromi oleh attacker.Bukan siapa yang dibuat setelahnya. Bukan service account. Tapi akun yang pertama kali masuk. Dari investigasi saya sebelumnya saya sudah menemukan event
Accepted publickey for devops from 107.21.146.177
Dari sini kita sudah tahu bahwa akun yang pertama kali di kompromi adalah devops. Kenapa saya menyimpulkan ini benar karena setelah itu muncul